Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement isGradingPublished (plus related features) #2856

Merged
merged 112 commits into from
Apr 13, 2024

Conversation

josh1248
Copy link
Contributor

@josh1248 josh1248 commented Mar 19, 2024

Description

Paired with backend request source-academy/backend#965

Closes #746
Closes #799
Closes #2189
Mitigates #2522 (reduces but does not eliminate issue of graded, resubmitted work outright)
Affects #738 (grading status has been revamped, and also no longer considers partially graded work as a separate category)
Supersedes #2546

Summary of changes

image

^(Note: this is a display on tanstack, and will look a bit different after the imminent migration to ag-grid under #2893.) slide shows the new 1-column category, "progress", with its varying statuses and allowed actions within the grading submissions table. publishing for graded submissions are activated. Avengers cannot affect autograded work, except for emergency XP changes if they need to.

image

^The new buttons under 'Release grading' allow admins to bulk-publish or bulk-unpublish any assessment. This is a quality-of-life feature for manually graded assessments, but a necessary feature for autograded assessments.

Details and implementation reasoning

Introduce isGradingPublished

This pull request implements the isGradingPublished feature as described on #2522, but in a modified manner. The original intention was focused on manually graded work which had been resubmitted. This pull request introduces this new field to the frontend to help in this - grading will not be shown until publishing. However, this pull request additionally implements the published category for autograded assessments. This is to allow for cases when hiding autograder results is be desirable, such as for PEs.

image

^New interface for grading submissions showing implementation of isGradingPublished. (Note: this is a display on tanstack, and will look a bit different after the imminent migration to ag-grid under #2893.)

image

^Even though mission has been fully graded, student sees "grading in progress.". Students can only see grades once published.

publishAll, unpublishAll

A publishAll and unpublishAll feature has been added to the admin-only ground control to allow for bulk publishing / unpublishing.

image

^new field added to controls, 'Release Grading', with unpublish and publish all buttons added in the category (in that order)

image

^example prompt when 'publish all' button is clicked - checks are done in the backend to prevent publishing of non-graded work

isAutoPublished

To avoid the inconvenience of publishing for trivial autograded assessments like Paths, a new backend field, 'isAutoPublished', has been added to each type of assessment, controllable within the admin panel. This field permits the autograder to publish on behalf of the avenger one it has fully graded the work. This field can only be set to true for assessments that are not manually graded (frontend and backend guards are present to prevent manually graded assessments from being auto-published, and vice-versa).

image

^new toggle, "is Auto-published", has been introduced.

Revamp derived frontend field

With the introduction of publishing for submissions, multiple backend fields can now be revamped and combined into a single comprehensive 'progress' state - you would have observed this in the screenshots above as the single column, 'progress', for the grading submissions table.

This new field is calculated as such:

isManuallyGraded status is fully graded? is grading published? progress
false ? ? ? autograded
true attempting ? ? attempting
true attempted ? ? attempted
true submitted false ? submitted
true submitted true false graded
true submitted true true published

Multiple backend parameters are considered and combined into a single field, allowing avengers to easily track and filter the submissions they need to grade under a single column.

image

^old control flow - credit to PR description in #2522

image

^old appearance of grading table - notice that 2 columns are used to track each assessment.

Remove avenger need to track autograded work

newAvengerWorkflow

^new control flow for avengers.

All submissions which are part of autograded work has been marked as 'autograded'. Under our current changes, we expect 2 scenarios, both of which do not require the TA to be involved.

  • Autograded, autopublished assessments (e.g. Paths): They should not be unsubmitted or published by the TA. It is unfair since the marking scheme will be automatically revealed - besides, it should be too trivial to be cared about.
  • Autograded, manually published work (e.g. practical exams): They are too serious and should not be able to be unsubmitted or published by the avenger. Only the admins should be able to publish autograding all at once using Ground Control.

Hence, our default filter will hide autograded work and disable actions for autograded work. Avengers will only be able to look through submissions and adjust XP if absolutely needed (see the lack of grading actions available for autograded work above).

Notification message change

image

^Old notifications show "autograded" notification even when not yet published.

image

^New notifications do not show any notification until published.

The notifications for autograded assessments that are not automatically published has become misleading because of our change - autograded submissions immediately trigger a notification even when not yet published. Thus, the frontend has been tweaked in accordance to the notification type changes in source-academy/backend#965 so that only published and unpublished notifications are given.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

This pull request relies on logic that are derived from multiple additional non-optional fields introduced in source-academy/backend#965 ('isGradingPublished' field for a submission and 'isAutoPublished' field for each assessment type), and would break if not provided.

  • This change requires a documentation update

Notification types and grading submission tables have been revamped

  • [] Code quality improvements

Checklist

  • I have tested this code
  • I have updated the documentation

Known issue

image

The dashboard that monitors grading progress of avengers has also become misleading, as it simply checks for graded assignments (that may not be published). It will be more accurate for this to instead (or additionally) indicate the number of published submissions so that the dashboard can properly reflect the feedback that can be received by students. To prevent this PR from getting any bigger, this has been shifted as a future issue to be addressed under the paired issues #2898 and source-academy/backend#1099.

@coveralls
Copy link

coveralls commented Mar 20, 2024

Pull Request Test Coverage Report for Build 8673271244

Details

  • 29 of 150 (19.33%) changed or added relevant lines in 17 files are covered.
  • 16 unchanged lines in 6 files lost coverage.
  • Overall coverage decreased (-0.2%) to 33.931%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/features/groundControl/GroundControlActions.ts 2 3 66.67%
src/commons/achievement/utils/InsertFakeAchievements.ts 0 2 0.0%
src/commons/mocks/BackendMocks.ts 0 2 0.0%
src/commons/assessment/Assessment.tsx 5 8 62.5%
src/pages/academy/grading/subcomponents/GradingBadges.tsx 0 3 0.0%
src/pages/academy/grading/subcomponents/GradingSubmissionsTable.tsx 0 3 0.0%
src/commons/sagas/RequestsSaga.ts 4 12 33.33%
src/pages/academy/grading/subcomponents/GradingActions.tsx 0 9 0.0%
src/pages/academy/adminPanel/subcomponents/assessmentConfigPanel/AssessmentConfigPanel.tsx 0 11 0.0%
src/features/grading/GradingUtils.ts 3 19 15.79%
Files with Coverage Reduction New Missed Lines %
src/features/grading/GradingUtils.ts 1 15.0%
src/pages/academy/grading/subcomponents/GradingSubmissionsTable.tsx 1 0.0%
src/pages/academy/grading/subcomponents/GradingActions.tsx 2 0.0%
src/commons/sagas/RequestsSaga.ts 3 12.88%
src/commons/profile/ProfileCard.tsx 4 11.11%
src/commons/profile/Profile.tsx 5 77.78%
Totals Coverage Status
Change from base Build 8673240180: -0.2%
Covered Lines: 5244
Relevant Lines: 14385

💛 - Coveralls

@josh1248 josh1248 marked this pull request as draft March 21, 2024 11:39
@josh1248
Copy link
Contributor Author

marked as draft to implement all features regarding isPublished within this pull

@josh1248 josh1248 changed the title Implement isPublished (Part 1) Implement isPublished Mar 21, 2024
src/commons/application/actions/SessionActions.ts Outdated Show resolved Hide resolved
src/commons/sagas/RequestsSaga.ts Outdated Show resolved Hide resolved
src/commons/sagas/RequestsSaga.ts Outdated Show resolved Hide resolved
@RichDom2185 RichDom2185 mentioned this pull request Apr 11, 2024
7 tasks
Copy link
Member

@RichDom2185 RichDom2185 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, thanks for working on this!

LGTM, but will wait for backend PR to pass review before approving and merging both together.

Copy link
Member

@RichDom2185 RichDom2185 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@RichDom2185 RichDom2185 enabled auto-merge (squash) April 13, 2024 11:53
@RichDom2185 RichDom2185 merged commit d2b322a into source-academy:master Apr 13, 2024
6 checks passed
@josh1248 josh1248 deleted the publishGrading branch April 13, 2024 13:22
s-kybound added a commit to s-kybound/frontend that referenced this pull request Apr 14, 2024
commit 27f3fe4
Author: Martin Henz <[email protected]>
Date:   Sun Apr 14 15:21:16 2024 +0800

    bumping js-slang (source-academy#2934)

commit 812393a
Author: Richard Dominick <[email protected]>
Date:   Sun Apr 14 13:28:11 2024 +0800

    Migrate to TypeScript v5 (source-academy#2850)

    * Bump TypeScript to v5.4

    Also updated tsconfig.json to remove a deprecated config.

    * Fix type error

    * Fix type error

    * Fix type error

    * Fix type error

    * Fix type error

    * Fix lint dependencies and config

    * Fix type errors

    * Fix type error

    * Fix format

    * Fix type errors

    Also standardized React hooks import style.

    * Fix type error

    * Fix type error

    * Fix format

    * Bump typescript to v5.4.3

    * Fix type errors

    * Add some `as any` assertions

    FIXMEs were also incorporated for future refactoring.

    * Update lockfile post-merge

    * Bump dependencies

    * Update lockfile post-merge

    * Create type-safe object helpers

    * Fix type error

    * Fix type error

    * Fix type error

    * Create more type helpers

    * Fix type error

    * Fix type error

    Also removed unnecessary type annotation.

    * Fix type error

    * Fix type error

    * Fix type errors

    * Fix type error

    * Fix type error

    * Fix type errors

    * Fix type error

    * Fix type error

    * Refactor filter logic to fix type error

    * Fix types

    * Address comments

commit 87e646d
Author: CZX <[email protected]>
Date:   Sat Apr 13 23:05:04 2024 +0800

    CSE UI/UX: Animations & UI improvements (source-academy#2931)

    * display array indices

    * animate moving numbers from agenda to stash

    * add code to read from previous agenda

    * Add animation components and some abstraction

    * Change test cases

    * Fix bug

    Properly disable animations when control and stash option is not enabled

    * display array indices

    * animate moving numbers from agenda to stash

    * add code to read from previous agenda

    * Add animation components and some abstraction

    * Change test cases

    * Fix bug

    Properly disable animations when control and stash option is not enabled

    * Fix issues with names after rebase

    * Fix animation bugs and refactoring of animation classes and logic

    * Fix mistake in test snapshot

    * Revert "Merge branch 'cse-uiux' of https://github.com/source-academy/frontend into cse-uiux"

    This reverts commit 7ef87d8, reversing
    changes made to efa8c57.

    * Restructure animation classes

    * Add binary operator animation

    * Add unary operator animation

    * Begin work on block separation animation

    * Improve binary operation animation, and improve the versatility of the base animation components

    * Improve the unary operation and block animations

    * Update test cases and remove block animation conditions

    * Add pop animation (linear movement)

    * Improve pop animation, and cleanup code for pull request

    * Revert envVisualizer test snapshot changes

    * Add assignment animation

    * Work on binding lookup function

    * Improve assignment animation and touch up on other animations, added experimental Column component

    * Add lookup animation (Identifier)

    * Improve lookup animation

    * Hide arrows for lookup animation and show them when it's finished

    * Remove AnimationUtils.tsx file

    replaced with AnimationUtils.ts

    * Slow down assignment and lookup animations

    * Fix issues with merging

    * Add environment animation

    * Refactor setDestination and animate to new method animateTo

    * Improve env animation and rename a utility function

    * Added animated arrows and also modified GenericArrow and improve assignment animation

    * Update test snapshot and formatting changes

    * Add arrow animation to lookup animation, and fix animateTo function behavior

    * Add FrameCreationAnimation

    * Rewrote all animation components for greater flexibility and performance

    * Shorten duration and delay names, and add listener functionality

    * Move experimental file

    * Fix issues with `this` keyword

    * Rewrite AnimatedTextbox to make it easier for both Text and Rect within it to be individually animated

    * Improve FrameCreationAnimation and bunch of other fixes

    * Fix some issues with `undefined` inside the control and stash

    * Make compact components the new default and remove any mentions to the old components.
    Also removes the experimental button toggle.

    * Update test snapshots

    * Clean up testing code a little

    * Formatting changes

    * Fix issues after merge

    * Revert some incorrect merges

    * Add FunctionFrameCreationAnimation

    if possible, reusing AssignmentAnimation would make handling fade-in of values easier

    * Add getNodeDimensions and getNodeLocation

    * Add ArrowFunctionExpressionAnimation

    * Add BranchAnimation

    simple animation for replacing a branch item in the control with the correct code block

    * Sort instr types in alphabetical order

    * Add ArrayLiteralAnimation

    * Added cases for block splitting

    for/while loops and conditional expressions

    * Improve animations for arrow functions and branch instruction

    * Update function application animation

    * Special changes for js-slang branch: add new objectCount property and filter program bindings

    * Change dummy binding behavior to match js-slang update

    * Fix array references being lost in frames due to cloning property descriptors

    * Simplify code

    * Add ArrayAccessAnimation

    * Begin work on ArrayAssignmentAnimation

    todo: animate arrows for object assignment

    * Fix application animation for predeclared funcs

    * Changes to solve issue 2700 and some fixes regarding global frame

    * Re-add animations

    * Fix many issues regarding displaying objects on global frame

    * Formatting

    * Simplify merging of environment heaps and drawing of bindings

    * Fix infinite loop in `findObjects`

    * Disable animations if control is truncated

    Could allow such functionality in the future, but currently animations break with a truncated control.

    * Fix AssignmentAnimation

    previous use of binding.height() causes positioning issues with nested array assignment

    * Increase space between closure and frame

    * Change for/while instr to use BranchAnimation

    * Initial Commit

    * More fixes and added faded gc objects

    * Disable variadic function animation

    * Increase spacing for global closure

    between closure circles and global frame border

    * Add missing case 'FunctionExpression'

    animates the moving of a functionexpression to the stash as a closure

    * Fix variadic function checker

    * Improve FunctionApplicationAnimation

    for nullary functions, allow the closure stash item to fade away

    * Improve assignment animation

    * Run format

    * Simplify check frame creation

    * Fix params text and added SourceObject to display runes correctly

    * bumping js-slang

    * Revamp unreferenced behavior and update snapshots

    * Run format

    * Update snapshot

    * Bump js-slang

    * Fix issues after merge

    * Fix frames creeping to the left

    * Improve rune display, revamp color system and add color interpolation

    * UI & animation improvements

    * Big improvements for many animations

    * More improvements, better transitions between border colors

    * More improvements and update snapshot

    * Update types

    * Remove explicit fragment

    * Remove explicit fragment again

    * Update typings

    * Merge branch 'cse-uiux2' of https://github.com/source-academy/frontend into cse-uiux2

    * Fix findObjects

    * Add docs

    * Re-add color dependencies for Java CSE

    * Re-add color dependencies for Java CSE

    * Fix format

    * Array access & asgn animation improvements, general polish

    * Cleanup and update java cse machine colors to use new functions

    * Move type helpers from animation utils to global type helpers file

    * Run format

    * Fix fn to frame arrow, and cleanup arrow code

    ---------

    Co-authored-by: notnotmax <[email protected]>
    Co-authored-by: Richard Dominick <[email protected]>
    Co-authored-by: henz <[email protected]>

commit 4f6be6b
Author: Richard Dominick <[email protected]>
Date:   Sat Apr 13 21:05:41 2024 +0800

    Refactor frontend part 7 (source-academy#2846)

    * Improve useRef type arguments for HTML elements

    * Use named imports for React hooks

    * Refactor MobileWorkspace

    * Replace if statements with optional invocation
    * Move constant `SideContentTab`s out of FC body

    * Simplify classnames call

    * Remove unnecessary braces around string attributes

    Only done for non-UI (non-message/label) strings as these UI strings
    will be pulled out for internationalization in the future.

    * Deduplicate dependencies

    * Create `useTokens` hook

    * Update default throw behavior for `useTokens`

    * Render SICP chatbot only when logged in

    * Fix overloaded types for `useTokens`

    Done following default behavior change.

    * Use `useTokens` where applicable

    * Refactor SICP chatbox

    * Use `useTokens`
    * Move API call to separate file
    * Update React import to default import

    * Refactor SICP chatbox further

    * Update imports
    * Create and use ChatMessage type alias

    * Reorganize SICP chatbot files

    * Refactor chat completion logic

    * Use dependency injection in prompt builder
    * Refactor prompt builder logic
    * Refactor prompt builder to separate file
    * Create type definitions
    * Move, type, rename SICP section summaries
    * Improve typing

    * Refactor SICP chat box component

    * Remove unnecessary template literal
    * Refactor constants out of component
    * Create type definitions
    * Create `CONTEXT_SIZE` constant to replace magic numbers
    * Refactor logic to use `CONTEXT_SIZE` constant
    * Remove unnecessary state variables
    * Refactor payload generation
    * Move fetching logic from event handler to effect callback instead
    * Rename `cleanMessage` to `resetChat`

    * Decouple rendering logic from chat completion logic

    * Only store string content in `ChatMessage` type
    * Move rendering function outside component to prevent unnecessary recreation
    * Update render function signature
    * Restore GPT-generated output warning for bot messages
    * Refactor render function logic
    * Fix React render warnings
    * Add TODOs for full Markdown/stories-like parsing

    Also uses non-greedy regex to match and split code blocks:

    * Only match JavaScript code blocks
    * Fix false matches
    * Supports multiple code blocks in a single message

    * Fix whitespace issue

    * Fix filename capitalization

    * Remove duplicated badge code

    * Fix double request

    * Block chat input when loading response

commit c1abec1
Author: Richard Dominick <[email protected]>
Date:   Sat Apr 13 20:35:47 2024 +0800

    Bump Blueprint; remove obsolete hotfixes, deprecations (source-academy#2773)

    * Bump minimum Blueprint version

    Done to allow compatibility with new React 18 `createRoot`.

    * Migrate from deprecated `Tooltip2`, `Popover2`

    Done partially so far, with the full migration in a subsequent commit.

    * Migrate more components to fix deprecations

    * Update test snapshots

    * Migrate remaining components to fix deprecations

    * Remove deprecated package from `requireProvider`

    This would necessitate a corresponding change in modules to ensure they
    don't import the deprecated package, or simply just mark it as
    non-external.

    * Remove `@blueprintjs/popover2` package completely

    * Fix format

    * Fix format

    * Reformat files post-merge

    * Bump Blueprint version

    * Use BP `Classes` utility instead of raw strings

    Prevents regressions when the CSS namespace changes in the meantime
    while we still have yet to migrate away fully from the CSS API.

    * Fix lint

    * Migrate to new notifications API

    Removes the old hotfix now that Blueprint supports it.

commit d2b322a
Author: Josh Thoo Jen Sen <[email protected]>
Date:   Sat Apr 13 20:03:17 2024 +0800

    Implement isGradingPublished (plus related features) (source-academy#2856)

    * Dummy publish grading function

    * skeleton redux loop for publishGrading, update GradingOverview

    * New column filter for isPublished (WIP)

    * Implement anticipated backend format and route implementations for publish and unpublish buttons

    * Remove misleading devnote and simplify message contents

    * fix: Change gradingOverviews to use backend response

    * Readjust publish button from HTML icon button to Blueprintjs text button

    * Publish and unpublish buttons set up

    * set up frontend-only type submissionProgress derived from backend status and isPublished

    * Implement derived submissionProgress frontend field from status and isGradingPublished from backend

    * Improve type safety in Grading page

    * Implement business logic to disable unsubmission if published or not submitted

    * Use notPublished param in backend

    * minor type safety change

    * Update new actions post-merge conflicts

    * Update tests

    * Update jsdocs and field names from ungraded to unpublished

    * adjust field names in test from unpublishedFilter to publishedFilter

    * Updated showGrading to be based on published status

    * Update getAssessmentOverviews to compute submission progress

    * Fix tests

    * Scaffold function for comprehensive progress status (WIP)

    * Update RequestsSaga.ts

    * fix crash

    * Introduce soon-to-be comprehensive field into table

    * Shift conversion functions into utils

    * Update business logic using comprehensive state

    * Introduce progress status to assessment overviews

    * clean up display of progressStatus

    * remove derived submissionProgress field, add in status field from backend

    * remove direct gradingStatus use in grading page

    * remove gradingStatus from assessments

    * Remove more references to gradingStatus

    * Replace references to gradingStatus with progress

    * there is a lot of reference to gradingStatus.

    * Replace gradingStatus with progress in testing

    * Fully remove gradingStatus and replace with progress

    * Fix accidental import

    * Update to use new backend parameter names in backend

    * Remove isPublished field entirely from grading overviews to avoid confusion with publishing within assessment overviews

    * Update tests

    * Dummy publish all button in ground control

    * redux loop for publishall and unpublishall (part 1)

    * Remove re-autograde for published or non-submitted assessments

    * Add publishAll button

    * Replace deprecated ag-grid functions with current versions

    * Implement unpublish all button

    * Add unique key, avoid specialkey flag from react

    * Fix button layout

    * Fix button format

    * increase width for accessibility

    * autoPublish settings inserted into admin panel configs

    * cleanup of isAutoPublished field within assessment configs

    * update tests for assessmentConfiguration

    * remove un-needed import

    * remove debug-only submissionStatus in grading submissions table

    * Revert accidental removal of XP field

    * bp5-minimal tag to clean up bulk publishing buttons - thanks gabriel :)

    * Fix errors post-merge

    * Fix lint error

    * feat: Implement published and unpublished notifications and remove deprecated ones

    * chore: Remove commented code

    * Fix compile error

    * Remove unnecessary typecast

    * Remove unnecessary typecast

    * Remove unused import

    * update notification types to reflect backend

    * change notification types to reflect backend changes

    * remove git stash artifacts

    * remove git stash artefacts

    * add tooltips, update assessment fields

    * remove development artifacts

    * remove TODO comment as issue has been raised

    * Update GradingUtils.ts jsdocs

    * linting

    * readjust progress statuses and conversion functions

    * update colours and logos

    * expose backend isGradingPublished field and update tests

    * update assessment cards to show purely based on isGradingPublished status without further check for graded

    * remove hardcoded assessment status

    * linting

    * revert yarn lock change

    * Update yarn.lock

    * update mocks and tests

    * remove un-needed import

    * linting

    * Use enum values instead of strings for color keys

    * Use prop over BP CSS API

    * remove un-needed field calculation, fix typos

    * update student username to show nusnet id instead of duplicating student name (thanks gabriel :D)

    ---------

    Co-authored-by: GabrielCWT <[email protected]>
    Co-authored-by: Richard Dominick <[email protected]>

commit 4556d3f
Author: Liew Xin Yi <[email protected]>
Date:   Sat Apr 13 19:43:51 2024 +0800

    Implement and Integrate `java-slang` CSEC Visualizer (source-academy#2926)

    * Update ControlBarChapterSelect with Java

    * Implement Java CSEC Visualizer

    * Integrate CSEC Visualizer

    * Linting errors for java-slang-csec

    * Fix frontend test: rename Object to Obj to avoid potential name clash?

    * Update snapshot

    * Update imports from java-slang

    * Fix lint

    * Update snapshot

    * Fix linting

    * Fix typo

    Co-authored-by: Richard Dominick <[email protected]>

    * Add TODO for err source node location

    ---------

    Co-authored-by: joel chan <[email protected]>
    Co-authored-by: Richard Dominick <[email protected]>

commit 612f68b
Author: Lai Mei Tin <[email protected]>
Date:   Sat Apr 13 18:02:16 2024 +0800

    Integrate Java type checker and compiler into frontend (source-academy#2925)

    * Integrate Java compiler into frontend

    * Add typechecker from java-slang

    * Add program terminated succesfully output to Java

    * Bump java-slang to 1.0.7

    * Remove program terminated output from java in frontend

    * Change ProgramTerminatedSuccessfully to anonymous class in java

    * Bump java-slang to 1.0.8

    * Bump java-slang to 1.0.9

    * Add process/browser to craco polyfill

    * Add java-parser to jest transform ignore patterns

    * Bump java-slang to 1.0.13

    * Add mocks for java-slang functions

    * Fix wrong error label in java helper

    * Increase max file size to cache to 20

    ---------

    Co-authored-by: Bryan Loh <[email protected]>
    Co-authored-by: Martin Henz <[email protected]>

commit d1c0a45
Author: Richard Dominick <[email protected]>
Date:   Sat Apr 13 14:53:02 2024 +0800

    Migrate to Redux Toolkit part 5 (source-academy#2866)

    * Migrate remaining workspace reducers to RTK

    * Migrate remaining action creators to RTK

    * Remove `typesafe-actions` dependency

    Type safety is now achieved via Redux Toolkit.

    * Update testcase

    * Fix format

    * Fix compile error

    * Fix errors

    * Restore old NOTIFY_PROGRAM_EVALUATED reducer

    Done to optimize the diff and will be removed later.

commit 0c45606
Author: Martin Henz <[email protected]>
Date:   Fri Apr 12 12:34:11 2024 +0800

    bumping js-slang (source-academy#2929)

commit 02059bf
Author: John Wong <[email protected]>
Date:   Fri Apr 12 01:59:37 2024 +0800

    Modify mobile keyboard to be scrollable (source-academy#2915)

    * Modify mobile keyboard to be scrollable

    * Mobile Keyboard is now swipeable

    * Remove mobile-keyboard-row-toggle styles

    * Fix formatting

    * Remove console.log statements

    ---------

    Co-authored-by: Joven Soh <[email protected]>

commit 4cc0204
Author: John Wong <[email protected]>
Date:   Thu Apr 11 03:28:57 2024 +0800

    Add full-screen button for Playground side content (source-academy#2911)

    * Added fullscreen button to playground side content

    * Refactor fullscreen button to use class as reference and Blueprint's Tooltip

    * updating snapshots

    * Remove unnecessary comments

    * Replace icon with button

    For more correct semantics.

    * Remove unnecessary styles

    Following the change from icon to button, `cursor: pointer` is no longer
    needed.

    Also lowered the z-index to a more reasonable value.

    * Fix format

    * Update test snapshots

    ---------

    Co-authored-by: henz <[email protected]>
    Co-authored-by: Richard Dominick <[email protected]>

commit e2abe18
Author: John Wong <[email protected]>
Date:   Thu Apr 11 02:16:49 2024 +0800

    Add a fullscreen button for the game div container (source-academy#2855)

    * Add a fullscreen button for the game div container

    * Modify code to use the useFullscreen hook from the @mantine/hooks package

    * Bump dependencies

    * Use `IconNames` instead of magic strings

    ---------

    Co-authored-by: Richard Dominick <[email protected]>
    Co-authored-by: Martin Henz <[email protected]>
    Co-authored-by: Lee Hyung Woon / 이형운 <[email protected]>

commit f4d6e78
Author: Richard Dominick <[email protected]>
Date:   Wed Apr 10 16:10:22 2024 +0800

    Fix `xlsx` security vulnerability (source-academy#2914)

    * Bump and use recommended XLSX version from CDN

    * Deduplicate dependencies

commit 571f8b7
Author: Martin Henz <[email protected]>
Date:   Wed Apr 10 14:31:39 2024 +0800

    bumping js-slang (source-academy#2922)

commit c859f1b
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Apr 10 14:14:57 2024 +0800

    Bump tar from 6.1.15 to 6.2.1 (source-academy#2920)

    Bumps [tar](https://github.com/isaacs/node-tar) from 6.1.15 to 6.2.1.
    - [Release notes](https://github.com/isaacs/node-tar/releases)
    - [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
    - [Commits](isaacs/node-tar@v6.1.15...v6.2.1)

    ---
    updated-dependencies:
    - dependency-name: tar
      dependency-type: indirect
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit bb790df
Author: Martin Henz <[email protected]>
Date:   Wed Apr 10 14:05:51 2024 +0800

    bumping java-slang to 1.0.6 (source-academy#2924)

commit 27e3181
Author: Martin Henz <[email protected]>
Date:   Wed Apr 10 13:30:30 2024 +0800

    bumping java-slang to 1.0.5 (source-academy#2923)

commit 5dba6a5
Author: CZX <[email protected]>
Date:   Wed Apr 10 07:58:53 2024 +0800

    CSE Machine: Fixes for variadic function & global closures, added faded unreferenced objects (source-academy#2906)

    * Initial Commit

    * More fixes and added faded gc objects

    * Run format

    * Fix params text and added SourceObject to display runes correctly

    * bumping js-slang

    * Revamp unreferenced behavior and update snapshots

    * Run format

    * Update snapshot

    * Bump js-slang

    ---------

    Co-authored-by: henz <[email protected]>
martin-henz added a commit that referenced this pull request Apr 14, 2024
* Switch Scheme languages fully to CSE Machine

* Updated tests with windows machine

* Ran tests on different windows machine

* resolve all issues with scheme CSE machine

* update tests

* reenable csc machine for scheme

* add prototype visualisations for scheme data types

* update tests

* simplify logic for checking prelude

* Make cse refer to correct closure

* Centralise logic for alternate languages

* separate scheme as its own file

* add scheme primitive representation to cse machine

* update representation of control

* Squashed commit of the following:

commit 27f3fe4
Author: Martin Henz <[email protected]>
Date:   Sun Apr 14 15:21:16 2024 +0800

    bumping js-slang (#2934)

commit 812393a
Author: Richard Dominick <[email protected]>
Date:   Sun Apr 14 13:28:11 2024 +0800

    Migrate to TypeScript v5 (#2850)

    * Bump TypeScript to v5.4

    Also updated tsconfig.json to remove a deprecated config.

    * Fix type error

    * Fix type error

    * Fix type error

    * Fix type error

    * Fix type error

    * Fix lint dependencies and config

    * Fix type errors

    * Fix type error

    * Fix format

    * Fix type errors

    Also standardized React hooks import style.

    * Fix type error

    * Fix type error

    * Fix format

    * Bump typescript to v5.4.3

    * Fix type errors

    * Add some `as any` assertions

    FIXMEs were also incorporated for future refactoring.

    * Update lockfile post-merge

    * Bump dependencies

    * Update lockfile post-merge

    * Create type-safe object helpers

    * Fix type error

    * Fix type error

    * Fix type error

    * Create more type helpers

    * Fix type error

    * Fix type error

    Also removed unnecessary type annotation.

    * Fix type error

    * Fix type error

    * Fix type errors

    * Fix type error

    * Fix type error

    * Fix type errors

    * Fix type error

    * Fix type error

    * Refactor filter logic to fix type error

    * Fix types

    * Address comments

commit 87e646d
Author: CZX <[email protected]>
Date:   Sat Apr 13 23:05:04 2024 +0800

    CSE UI/UX: Animations & UI improvements (#2931)

    * display array indices

    * animate moving numbers from agenda to stash

    * add code to read from previous agenda

    * Add animation components and some abstraction

    * Change test cases

    * Fix bug

    Properly disable animations when control and stash option is not enabled

    * display array indices

    * animate moving numbers from agenda to stash

    * add code to read from previous agenda

    * Add animation components and some abstraction

    * Change test cases

    * Fix bug

    Properly disable animations when control and stash option is not enabled

    * Fix issues with names after rebase

    * Fix animation bugs and refactoring of animation classes and logic

    * Fix mistake in test snapshot

    * Revert "Merge branch 'cse-uiux' of https://github.com/source-academy/frontend into cse-uiux"

    This reverts commit 7ef87d8, reversing
    changes made to efa8c57.

    * Restructure animation classes

    * Add binary operator animation

    * Add unary operator animation

    * Begin work on block separation animation

    * Improve binary operation animation, and improve the versatility of the base animation components

    * Improve the unary operation and block animations

    * Update test cases and remove block animation conditions

    * Add pop animation (linear movement)

    * Improve pop animation, and cleanup code for pull request

    * Revert envVisualizer test snapshot changes

    * Add assignment animation

    * Work on binding lookup function

    * Improve assignment animation and touch up on other animations, added experimental Column component

    * Add lookup animation (Identifier)

    * Improve lookup animation

    * Hide arrows for lookup animation and show them when it's finished

    * Remove AnimationUtils.tsx file

    replaced with AnimationUtils.ts

    * Slow down assignment and lookup animations

    * Fix issues with merging

    * Add environment animation

    * Refactor setDestination and animate to new method animateTo

    * Improve env animation and rename a utility function

    * Added animated arrows and also modified GenericArrow and improve assignment animation

    * Update test snapshot and formatting changes

    * Add arrow animation to lookup animation, and fix animateTo function behavior

    * Add FrameCreationAnimation

    * Rewrote all animation components for greater flexibility and performance

    * Shorten duration and delay names, and add listener functionality

    * Move experimental file

    * Fix issues with `this` keyword

    * Rewrite AnimatedTextbox to make it easier for both Text and Rect within it to be individually animated

    * Improve FrameCreationAnimation and bunch of other fixes

    * Fix some issues with `undefined` inside the control and stash

    * Make compact components the new default and remove any mentions to the old components.
    Also removes the experimental button toggle.

    * Update test snapshots

    * Clean up testing code a little

    * Formatting changes

    * Fix issues after merge

    * Revert some incorrect merges

    * Add FunctionFrameCreationAnimation

    if possible, reusing AssignmentAnimation would make handling fade-in of values easier

    * Add getNodeDimensions and getNodeLocation

    * Add ArrowFunctionExpressionAnimation

    * Add BranchAnimation

    simple animation for replacing a branch item in the control with the correct code block

    * Sort instr types in alphabetical order

    * Add ArrayLiteralAnimation

    * Added cases for block splitting

    for/while loops and conditional expressions

    * Improve animations for arrow functions and branch instruction

    * Update function application animation

    * Special changes for js-slang branch: add new objectCount property and filter program bindings

    * Change dummy binding behavior to match js-slang update

    * Fix array references being lost in frames due to cloning property descriptors

    * Simplify code

    * Add ArrayAccessAnimation

    * Begin work on ArrayAssignmentAnimation

    todo: animate arrows for object assignment

    * Fix application animation for predeclared funcs

    * Changes to solve issue 2700 and some fixes regarding global frame

    * Re-add animations

    * Fix many issues regarding displaying objects on global frame

    * Formatting

    * Simplify merging of environment heaps and drawing of bindings

    * Fix infinite loop in `findObjects`

    * Disable animations if control is truncated

    Could allow such functionality in the future, but currently animations break with a truncated control.

    * Fix AssignmentAnimation

    previous use of binding.height() causes positioning issues with nested array assignment

    * Increase space between closure and frame

    * Change for/while instr to use BranchAnimation

    * Initial Commit

    * More fixes and added faded gc objects

    * Disable variadic function animation

    * Increase spacing for global closure

    between closure circles and global frame border

    * Add missing case 'FunctionExpression'

    animates the moving of a functionexpression to the stash as a closure

    * Fix variadic function checker

    * Improve FunctionApplicationAnimation

    for nullary functions, allow the closure stash item to fade away

    * Improve assignment animation

    * Run format

    * Simplify check frame creation

    * Fix params text and added SourceObject to display runes correctly

    * bumping js-slang

    * Revamp unreferenced behavior and update snapshots

    * Run format

    * Update snapshot

    * Bump js-slang

    * Fix issues after merge

    * Fix frames creeping to the left

    * Improve rune display, revamp color system and add color interpolation

    * UI & animation improvements

    * Big improvements for many animations

    * More improvements, better transitions between border colors

    * More improvements and update snapshot

    * Update types

    * Remove explicit fragment

    * Remove explicit fragment again

    * Update typings

    * Merge branch 'cse-uiux2' of https://github.com/source-academy/frontend into cse-uiux2

    * Fix findObjects

    * Add docs

    * Re-add color dependencies for Java CSE

    * Re-add color dependencies for Java CSE

    * Fix format

    * Array access & asgn animation improvements, general polish

    * Cleanup and update java cse machine colors to use new functions

    * Move type helpers from animation utils to global type helpers file

    * Run format

    * Fix fn to frame arrow, and cleanup arrow code

    ---------

    Co-authored-by: notnotmax <[email protected]>
    Co-authored-by: Richard Dominick <[email protected]>
    Co-authored-by: henz <[email protected]>

commit 4f6be6b
Author: Richard Dominick <[email protected]>
Date:   Sat Apr 13 21:05:41 2024 +0800

    Refactor frontend part 7 (#2846)

    * Improve useRef type arguments for HTML elements

    * Use named imports for React hooks

    * Refactor MobileWorkspace

    * Replace if statements with optional invocation
    * Move constant `SideContentTab`s out of FC body

    * Simplify classnames call

    * Remove unnecessary braces around string attributes

    Only done for non-UI (non-message/label) strings as these UI strings
    will be pulled out for internationalization in the future.

    * Deduplicate dependencies

    * Create `useTokens` hook

    * Update default throw behavior for `useTokens`

    * Render SICP chatbot only when logged in

    * Fix overloaded types for `useTokens`

    Done following default behavior change.

    * Use `useTokens` where applicable

    * Refactor SICP chatbox

    * Use `useTokens`
    * Move API call to separate file
    * Update React import to default import

    * Refactor SICP chatbox further

    * Update imports
    * Create and use ChatMessage type alias

    * Reorganize SICP chatbot files

    * Refactor chat completion logic

    * Use dependency injection in prompt builder
    * Refactor prompt builder logic
    * Refactor prompt builder to separate file
    * Create type definitions
    * Move, type, rename SICP section summaries
    * Improve typing

    * Refactor SICP chat box component

    * Remove unnecessary template literal
    * Refactor constants out of component
    * Create type definitions
    * Create `CONTEXT_SIZE` constant to replace magic numbers
    * Refactor logic to use `CONTEXT_SIZE` constant
    * Remove unnecessary state variables
    * Refactor payload generation
    * Move fetching logic from event handler to effect callback instead
    * Rename `cleanMessage` to `resetChat`

    * Decouple rendering logic from chat completion logic

    * Only store string content in `ChatMessage` type
    * Move rendering function outside component to prevent unnecessary recreation
    * Update render function signature
    * Restore GPT-generated output warning for bot messages
    * Refactor render function logic
    * Fix React render warnings
    * Add TODOs for full Markdown/stories-like parsing

    Also uses non-greedy regex to match and split code blocks:

    * Only match JavaScript code blocks
    * Fix false matches
    * Supports multiple code blocks in a single message

    * Fix whitespace issue

    * Fix filename capitalization

    * Remove duplicated badge code

    * Fix double request

    * Block chat input when loading response

commit c1abec1
Author: Richard Dominick <[email protected]>
Date:   Sat Apr 13 20:35:47 2024 +0800

    Bump Blueprint; remove obsolete hotfixes, deprecations (#2773)

    * Bump minimum Blueprint version

    Done to allow compatibility with new React 18 `createRoot`.

    * Migrate from deprecated `Tooltip2`, `Popover2`

    Done partially so far, with the full migration in a subsequent commit.

    * Migrate more components to fix deprecations

    * Update test snapshots

    * Migrate remaining components to fix deprecations

    * Remove deprecated package from `requireProvider`

    This would necessitate a corresponding change in modules to ensure they
    don't import the deprecated package, or simply just mark it as
    non-external.

    * Remove `@blueprintjs/popover2` package completely

    * Fix format

    * Fix format

    * Reformat files post-merge

    * Bump Blueprint version

    * Use BP `Classes` utility instead of raw strings

    Prevents regressions when the CSS namespace changes in the meantime
    while we still have yet to migrate away fully from the CSS API.

    * Fix lint

    * Migrate to new notifications API

    Removes the old hotfix now that Blueprint supports it.

commit d2b322a
Author: Josh Thoo Jen Sen <[email protected]>
Date:   Sat Apr 13 20:03:17 2024 +0800

    Implement isGradingPublished (plus related features) (#2856)

    * Dummy publish grading function

    * skeleton redux loop for publishGrading, update GradingOverview

    * New column filter for isPublished (WIP)

    * Implement anticipated backend format and route implementations for publish and unpublish buttons

    * Remove misleading devnote and simplify message contents

    * fix: Change gradingOverviews to use backend response

    * Readjust publish button from HTML icon button to Blueprintjs text button

    * Publish and unpublish buttons set up

    * set up frontend-only type submissionProgress derived from backend status and isPublished

    * Implement derived submissionProgress frontend field from status and isGradingPublished from backend

    * Improve type safety in Grading page

    * Implement business logic to disable unsubmission if published or not submitted

    * Use notPublished param in backend

    * minor type safety change

    * Update new actions post-merge conflicts

    * Update tests

    * Update jsdocs and field names from ungraded to unpublished

    * adjust field names in test from unpublishedFilter to publishedFilter

    * Updated showGrading to be based on published status

    * Update getAssessmentOverviews to compute submission progress

    * Fix tests

    * Scaffold function for comprehensive progress status (WIP)

    * Update RequestsSaga.ts

    * fix crash

    * Introduce soon-to-be comprehensive field into table

    * Shift conversion functions into utils

    * Update business logic using comprehensive state

    * Introduce progress status to assessment overviews

    * clean up display of progressStatus

    * remove derived submissionProgress field, add in status field from backend

    * remove direct gradingStatus use in grading page

    * remove gradingStatus from assessments

    * Remove more references to gradingStatus

    * Replace references to gradingStatus with progress

    * there is a lot of reference to gradingStatus.

    * Replace gradingStatus with progress in testing

    * Fully remove gradingStatus and replace with progress

    * Fix accidental import

    * Update to use new backend parameter names in backend

    * Remove isPublished field entirely from grading overviews to avoid confusion with publishing within assessment overviews

    * Update tests

    * Dummy publish all button in ground control

    * redux loop for publishall and unpublishall (part 1)

    * Remove re-autograde for published or non-submitted assessments

    * Add publishAll button

    * Replace deprecated ag-grid functions with current versions

    * Implement unpublish all button

    * Add unique key, avoid specialkey flag from react

    * Fix button layout

    * Fix button format

    * increase width for accessibility

    * autoPublish settings inserted into admin panel configs

    * cleanup of isAutoPublished field within assessment configs

    * update tests for assessmentConfiguration

    * remove un-needed import

    * remove debug-only submissionStatus in grading submissions table

    * Revert accidental removal of XP field

    * bp5-minimal tag to clean up bulk publishing buttons - thanks gabriel :)

    * Fix errors post-merge

    * Fix lint error

    * feat: Implement published and unpublished notifications and remove deprecated ones

    * chore: Remove commented code

    * Fix compile error

    * Remove unnecessary typecast

    * Remove unnecessary typecast

    * Remove unused import

    * update notification types to reflect backend

    * change notification types to reflect backend changes

    * remove git stash artifacts

    * remove git stash artefacts

    * add tooltips, update assessment fields

    * remove development artifacts

    * remove TODO comment as issue has been raised

    * Update GradingUtils.ts jsdocs

    * linting

    * readjust progress statuses and conversion functions

    * update colours and logos

    * expose backend isGradingPublished field and update tests

    * update assessment cards to show purely based on isGradingPublished status without further check for graded

    * remove hardcoded assessment status

    * linting

    * revert yarn lock change

    * Update yarn.lock

    * update mocks and tests

    * remove un-needed import

    * linting

    * Use enum values instead of strings for color keys

    * Use prop over BP CSS API

    * remove un-needed field calculation, fix typos

    * update student username to show nusnet id instead of duplicating student name (thanks gabriel :D)

    ---------

    Co-authored-by: GabrielCWT <[email protected]>
    Co-authored-by: Richard Dominick <[email protected]>

commit 4556d3f
Author: Liew Xin Yi <[email protected]>
Date:   Sat Apr 13 19:43:51 2024 +0800

    Implement and Integrate `java-slang` CSEC Visualizer (#2926)

    * Update ControlBarChapterSelect with Java

    * Implement Java CSEC Visualizer

    * Integrate CSEC Visualizer

    * Linting errors for java-slang-csec

    * Fix frontend test: rename Object to Obj to avoid potential name clash?

    * Update snapshot

    * Update imports from java-slang

    * Fix lint

    * Update snapshot

    * Fix linting

    * Fix typo

    Co-authored-by: Richard Dominick <[email protected]>

    * Add TODO for err source node location

    ---------

    Co-authored-by: joel chan <[email protected]>
    Co-authored-by: Richard Dominick <[email protected]>

commit 612f68b
Author: Lai Mei Tin <[email protected]>
Date:   Sat Apr 13 18:02:16 2024 +0800

    Integrate Java type checker and compiler into frontend (#2925)

    * Integrate Java compiler into frontend

    * Add typechecker from java-slang

    * Add program terminated succesfully output to Java

    * Bump java-slang to 1.0.7

    * Remove program terminated output from java in frontend

    * Change ProgramTerminatedSuccessfully to anonymous class in java

    * Bump java-slang to 1.0.8

    * Bump java-slang to 1.0.9

    * Add process/browser to craco polyfill

    * Add java-parser to jest transform ignore patterns

    * Bump java-slang to 1.0.13

    * Add mocks for java-slang functions

    * Fix wrong error label in java helper

    * Increase max file size to cache to 20

    ---------

    Co-authored-by: Bryan Loh <[email protected]>
    Co-authored-by: Martin Henz <[email protected]>

commit d1c0a45
Author: Richard Dominick <[email protected]>
Date:   Sat Apr 13 14:53:02 2024 +0800

    Migrate to Redux Toolkit part 5 (#2866)

    * Migrate remaining workspace reducers to RTK

    * Migrate remaining action creators to RTK

    * Remove `typesafe-actions` dependency

    Type safety is now achieved via Redux Toolkit.

    * Update testcase

    * Fix format

    * Fix compile error

    * Fix errors

    * Restore old NOTIFY_PROGRAM_EVALUATED reducer

    Done to optimize the diff and will be removed later.

commit 0c45606
Author: Martin Henz <[email protected]>
Date:   Fri Apr 12 12:34:11 2024 +0800

    bumping js-slang (#2929)

commit 02059bf
Author: John Wong <[email protected]>
Date:   Fri Apr 12 01:59:37 2024 +0800

    Modify mobile keyboard to be scrollable (#2915)

    * Modify mobile keyboard to be scrollable

    * Mobile Keyboard is now swipeable

    * Remove mobile-keyboard-row-toggle styles

    * Fix formatting

    * Remove console.log statements

    ---------

    Co-authored-by: Joven Soh <[email protected]>

commit 4cc0204
Author: John Wong <[email protected]>
Date:   Thu Apr 11 03:28:57 2024 +0800

    Add full-screen button for Playground side content (#2911)

    * Added fullscreen button to playground side content

    * Refactor fullscreen button to use class as reference and Blueprint's Tooltip

    * updating snapshots

    * Remove unnecessary comments

    * Replace icon with button

    For more correct semantics.

    * Remove unnecessary styles

    Following the change from icon to button, `cursor: pointer` is no longer
    needed.

    Also lowered the z-index to a more reasonable value.

    * Fix format

    * Update test snapshots

    ---------

    Co-authored-by: henz <[email protected]>
    Co-authored-by: Richard Dominick <[email protected]>

commit e2abe18
Author: John Wong <[email protected]>
Date:   Thu Apr 11 02:16:49 2024 +0800

    Add a fullscreen button for the game div container (#2855)

    * Add a fullscreen button for the game div container

    * Modify code to use the useFullscreen hook from the @mantine/hooks package

    * Bump dependencies

    * Use `IconNames` instead of magic strings

    ---------

    Co-authored-by: Richard Dominick <[email protected]>
    Co-authored-by: Martin Henz <[email protected]>
    Co-authored-by: Lee Hyung Woon / 이형운 <[email protected]>

commit f4d6e78
Author: Richard Dominick <[email protected]>
Date:   Wed Apr 10 16:10:22 2024 +0800

    Fix `xlsx` security vulnerability (#2914)

    * Bump and use recommended XLSX version from CDN

    * Deduplicate dependencies

commit 571f8b7
Author: Martin Henz <[email protected]>
Date:   Wed Apr 10 14:31:39 2024 +0800

    bumping js-slang (#2922)

commit c859f1b
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Apr 10 14:14:57 2024 +0800

    Bump tar from 6.1.15 to 6.2.1 (#2920)

    Bumps [tar](https://github.com/isaacs/node-tar) from 6.1.15 to 6.2.1.
    - [Release notes](https://github.com/isaacs/node-tar/releases)
    - [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
    - [Commits](isaacs/node-tar@v6.1.15...v6.2.1)

    ---
    updated-dependencies:
    - dependency-name: tar
      dependency-type: indirect
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit bb790df
Author: Martin Henz <[email protected]>
Date:   Wed Apr 10 14:05:51 2024 +0800

    bumping java-slang to 1.0.6 (#2924)

commit 27e3181
Author: Martin Henz <[email protected]>
Date:   Wed Apr 10 13:30:30 2024 +0800

    bumping java-slang to 1.0.5 (#2923)

commit 5dba6a5
Author: CZX <[email protected]>
Date:   Wed Apr 10 07:58:53 2024 +0800

    CSE Machine: Fixes for variadic function & global closures, added faded unreferenced objects (#2906)

    * Initial Commit

    * More fixes and added faded gc objects

    * Run format

    * Fix params text and added SourceObject to display runes correctly

    * bumping js-slang

    * Revamp unreferenced behavior and update snapshots

    * Run format

    * Update snapshot

    * Bump js-slang

    ---------

    Co-authored-by: henz <[email protected]>

* update tests

---------

Co-authored-by: Richard Dominick <[email protected]>
Co-authored-by: Martin Henz <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature request
5 participants